Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Prep work for WAMR integration #652

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

KaruroChori
Copy link
Contributor

Not to be merged, just to track what I am doing.

In short, wasm3 is no longer maintained and very slow due to its interpreted nature.
I think it is best for txiki to move away from it and I would suggest to try https://github.com/bytecodealliance/wasm-micro-runtime.

It is advertised as highly configurable and embeddable. https://github.com/bytecodealliance/wasm-micro-runtime/blob/main/doc/embed_wamr.md
One can selectively decide which feature are wanted, limiting the final footprint. It is also possible to run wasm without allocations outside a preallocated region, making it suitable for real embedded applications.
Beyond that, it has a much wider support of standards compared to wasm3, and a AOT can be enabled for systems if they can afford its overhead.

Moving to WAMR would enable further developments in areas where txiki is currently stuck, like adding a fast transpiler to semi-natively run typescript and jsx code.

@KaruroChori
Copy link
Contributor Author

By the way, I would suggest to disable the automatic pipelines from running for draft PR.

@saghul
Copy link
Owner

saghul commented Sep 21, 2024

Thanks for getting this effort started! ❤️‍🔥

@saghul
Copy link
Owner

saghul commented Sep 21, 2024

By the way, I would suggest to disable the automatic pipelines from running for draft PR.

Not sure how to do that, but I'd be happy to turn that on!

@KaruroChori
Copy link
Contributor Author

KaruroChori commented Sep 21, 2024

https://github.com/orgs/community/discussions/25722
I never used that feature myself, but there is a check which can be added to the workflow to either determine its draft status or activate it when set to "ready for review".

@KaruroChori
Copy link
Contributor Author

KaruroChori commented Oct 14, 2024

Just a quick update. The wasi version of esbuild from https://www.npmjs.com/package/@esbuild/wasi-preview1?activeTab=readme seems to be working fine on WAMR. wasip1 cannot open sockets, so some of the more obscure features of esbuild might not be available, but the intended purpose should be covered.

@saghul
Copy link
Owner

saghul commented Oct 15, 2024

That's awesome! Let's do it then!

@KaruroChori KaruroChori mentioned this pull request Dec 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants